package com.tyning.newcode.jz03;

//剑指 Offer 03. 数组中重复的数字
//找出数组中重复的数字。
//
//
//在一个长度为 n 的数组 nums 里的所有数字都在 0～n-1 的范围内。数组中某些数字是重复的，但不知道有几个数字重复了，也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。
//
//示例 1：
//
//输入：
//[2, 3, 1, 0, 2, 5, 3]
//输出：2 或 3
//
//
//限制：
//
//2 <= n <= 100000
// https://leetcode-cn.com/problems/shu-zu-zhong-zhong-fu-de-shu-zi-lcof/


/**
 * @author haining
 */
public class Solution {
    public static void main(String[] args) {

    }

    public int findRepeatNumbernew1(int[] nums) {
        if(nums == null){
            return -1;
        }
        for (int i = 0; i < nums.length - 1; i++) {
            if (i != nums[i]) {
                if (nums[nums[i]] == nums[i]) {

                }
            }
        }
        return -1;
    }

    public int findRepeatNumbernew(int[] nums) {
        if(nums == null){
            return -1;
        }
        for (int i = 0; i < nums.length; i++) {
            for (int j = i + 1; j < nums.length; j++) {
                if (nums[i] == nums[j]){
                    return nums[i];
                }
            }
        }
        return -1;
    }


    public int findRepeatNumber1(int[] nums) {
        if (nums == null || nums.length < 1) {
            return -1;
        }
        for (int i = 0; i < nums.length; i++) {
            for (int j = i + 1; j < nums.length; j++) {
                if (nums[i] == nums[j]) {
                    return nums[i];
                }
            }
        }
        return -1;
    }

}
